package edu.uoc.tdp.client.conexio;

import edu.uoc.tdp.beans.conexio.Administrador;
import edu.uoc.tdp.beans.conexio.Estudiant;
import edu.uoc.tdp.beans.conexio.ResponsableEvents;
import edu.uoc.tdp.client.estudiants.PantallaConsultaProves;
import edu.uoc.tdp.client.estudiants.PantallaRealitzaProves;
import edu.uoc.tdp.client.estudiants.PantallaResultatProves;
import edu.uoc.tdp.client.informes.PantallaMedaller;
import edu.uoc.tdp.client.informes.PantallaMevesProves;
import edu.uoc.tdp.client.informes.PantallaProvesFinalitzades;
import edu.uoc.tdp.client.informes.PantallaResumExecutiu;
import edu.uoc.tdp.client.proves.PanelBuscadorProves;
import edu.uoc.tdp.client.proves.PanelControlInscripcions;
import edu.uoc.tdp.client.proves.PanelTancarProves;
import edu.uoc.tdp.common.*;
import java.awt.FlowLayout;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Properties;
import javax.swing.JOptionPane;

/**
 *
 * @author Grup TDP 1X4J
 */
public class PantallaMenuGeneral extends javax.swing.JFrame {

    private RemotConexioInterface serveiRMIConnexio;
    private RemotProvesInterface serveiRMIProves;
    private RemotInformesInterface serveiRMIInformes;
    private RemotEstudiantsInterface serveiRMIEstudiants;
    private PantallaLogin PantLogin;
    private PantallaConsultaProves PantInscripcioEstudiants;
    private PanelBuscadorProves PantConsultProves;
    private PanelTancarProves PantTancarProves;
    private PanelControlInscripcions PantControlInscripcions;
    private Administrador AdminLogin;
    private ResponsableEvents REvenLogin;
    private Estudiant EstudLogin;
    private PantallaRealitzaProves PantRealitzaProves;
    private PantallaResultatProves PantResultatProves;

    /**
     * Creates new form PantallaMenuGeneral
     */
    public PantallaMenuGeneral() {
        TDSLanguageUtils.setDefaultLanguage("edu/uoc/tdp/i18n/messages");
        initComponents();

        this.setLayout(new FlowLayout());
        this.setLocationRelativeTo(null);
        
        setTitle(TDSLanguageUtils.getMessage("titol.general") + " - " +
                 TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.titol"));
        MenuConnexio.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuConnexio"));
        MenuConnectar.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuConnectar"));
        MenuDesconnectar.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuDesconnectar"));
        MenuGestioUsuaris.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuGestioUsuaris"));
        MenuSortir.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuSortir"));

        MenuProgramacioProves.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuProgramacioProves"));
        MenuGestioProves.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuMantenimentGestio"));
        MenuTancamentProves.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuTancament"));
        MenuControlInscripcions.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuControlInscripcions"));

        MenuLlistatsEstadistiques.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuLlistatsEstadistiques"));
        MenuConsultaMedaller.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuMedaller"));
        MenuConsultaProvesFinalitzades.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuProvesFinalitzades"));
        MenuConsultaResultatsEstudiant.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuResultatspropis"));
        MenuResumExecutiu.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuResumExecutiu"));

        MenuEstudiant.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuEstudiant"));
        MenuInscripcioEstudiant.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuInscripcions"));
        MenuRealitzacioProves.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuRealitzacio"));
        MenuHistoricProvesEstudiant.setText(TDSLanguageUtils.getMessage("connexio.pantalla.menugeneral.mnuHistoric"));

        // Estat inicial abans de fer Login : Només actiu el menú de connectar
        ActivaDesactivaMenusSegonsTipusUsuari();

        // A l'iniciar l'aplicatiu, fer connexions RMI i demanar directament el Login
        gestioLogin();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        MenuPrincipal = new javax.swing.JMenuBar();
        MenuConnexio = new javax.swing.JMenu();
        MenuConnectar = new javax.swing.JMenuItem();
        MenuDesconnectar = new javax.swing.JMenuItem();
        SeparadorConnexio = new javax.swing.JPopupMenu.Separator();
        MenuGestioUsuaris = new javax.swing.JMenuItem();
        MenuSortir = new javax.swing.JMenuItem();
        MenuProgramacioProves = new javax.swing.JMenu();
        MenuGestioProves = new javax.swing.JMenuItem();
        MenuTancamentProves = new javax.swing.JMenuItem();
        MenuControlInscripcions = new javax.swing.JMenuItem();
        MenuLlistatsEstadistiques = new javax.swing.JMenu();
        MenuConsultaMedaller = new javax.swing.JMenuItem();
        MenuConsultaProvesFinalitzades = new javax.swing.JMenuItem();
        MenuConsultaResultatsEstudiant = new javax.swing.JMenuItem();
        MenuResumExecutiu = new javax.swing.JMenuItem();
        MenuEstudiant = new javax.swing.JMenu();
        MenuInscripcioEstudiant = new javax.swing.JMenuItem();
        MenuRealitzacioProves = new javax.swing.JMenuItem();
        MenuHistoricProvesEstudiant = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/Fons.png"))); // NOI18N

        MenuConnexio.setText("Connexió");

        MenuConnectar.setText("Connectar");
        MenuConnectar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuConnectarActionPerformed(evt);
            }
        });
        MenuConnexio.add(MenuConnectar);

        MenuDesconnectar.setText("Desconnectar");
        MenuDesconnectar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuDesconnectarActionPerformed(evt);
            }
        });
        MenuConnexio.add(MenuDesconnectar);
        MenuConnexio.add(SeparadorConnexio);

        MenuGestioUsuaris.setText("Gestió d'Usuaris");
        MenuGestioUsuaris.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuGestioUsuarisActionPerformed(evt);
            }
        });
        MenuConnexio.add(MenuGestioUsuaris);

        MenuSortir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK));
        MenuSortir.setText("Sortir");
        MenuSortir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuSortirActionPerformed(evt);
            }
        });
        MenuConnexio.add(MenuSortir);

        MenuPrincipal.add(MenuConnexio);

        MenuProgramacioProves.setText("Programacio de Proves");

        MenuGestioProves.setText("Manteniment i Gestió");
        MenuGestioProves.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuGestioProvesActionPerformed(evt);
            }
        });
        MenuProgramacioProves.add(MenuGestioProves);

        MenuTancamentProves.setText("Tancament");
        MenuTancamentProves.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuTancamentProvesActionPerformed(evt);
            }
        });
        MenuProgramacioProves.add(MenuTancamentProves);

        MenuControlInscripcions.setText("Control d'Inscripcions");
        MenuControlInscripcions.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuControlInscripcionsActionPerformed(evt);
            }
        });
        MenuProgramacioProves.add(MenuControlInscripcions);

        MenuPrincipal.add(MenuProgramacioProves);

        MenuLlistatsEstadistiques.setText("Llistats i Estadístiques");

        MenuConsultaMedaller.setText("Consultar Medaller");
        MenuConsultaMedaller.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuConsultaMedallerActionPerformed(evt);
            }
        });
        MenuLlistatsEstadistiques.add(MenuConsultaMedaller);

        MenuConsultaProvesFinalitzades.setText("Consulta Proves Finalitzades");
        MenuConsultaProvesFinalitzades.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuConsultaProvesFinalitzadesActionPerformed(evt);
            }
        });
        MenuLlistatsEstadistiques.add(MenuConsultaProvesFinalitzades);

        MenuConsultaResultatsEstudiant.setText("Consulta Resultats Propis");
        MenuConsultaResultatsEstudiant.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuConsultaResultatsEstudiantActionPerformed(evt);
            }
        });
        MenuLlistatsEstadistiques.add(MenuConsultaResultatsEstudiant);

        MenuResumExecutiu.setLabel("Resum Executiu");
        MenuResumExecutiu.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuResumExecutiuActionPerformed(evt);
            }
        });
        MenuLlistatsEstadistiques.add(MenuResumExecutiu);

        MenuPrincipal.add(MenuLlistatsEstadistiques);

        MenuEstudiant.setText("Estudiant");

        MenuInscripcioEstudiant.setText("Inscripcions");
        MenuInscripcioEstudiant.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuInscripcioEstudiantActionPerformed(evt);
            }
        });
        MenuEstudiant.add(MenuInscripcioEstudiant);

        MenuRealitzacioProves.setText("Realització de Proves");
        MenuRealitzacioProves.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuRealitzacioProvesActionPerformed(evt);
            }
        });
        MenuEstudiant.add(MenuRealitzacioProves);

        MenuHistoricProvesEstudiant.setText("Històric de Proves");
        MenuHistoricProvesEstudiant.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuHistoricProvesEstudiantActionPerformed(evt);
            }
        });
        MenuEstudiant.add(MenuHistoricProvesEstudiant);

        MenuPrincipal.add(MenuEstudiant);

        setJMenuBar(MenuPrincipal);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 449, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void MenuDesconnectarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuDesconnectarActionPerformed
        inicialitzaEstatConnexio();
    }//GEN-LAST:event_MenuDesconnectarActionPerformed

    private void MenuConnectarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuConnectarActionPerformed
        gestioLogin();
    }//GEN-LAST:event_MenuConnectarActionPerformed

    private void MenuGestioUsuarisActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuGestioUsuarisActionPerformed
        // Crida per a la gestió d'usuaris
        new PantallaGestioUsuaris(AdminLogin,
                serveiRMIConnexio,
                serveiRMIEstudiants).setVisible(true);
    }//GEN-LAST:event_MenuGestioUsuarisActionPerformed

    private void MenuGestioProvesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuGestioProvesActionPerformed
        // Crida pel subsistema de programació de proves - Manteniment i Gestió
        PantConsultProves = new PanelBuscadorProves(REvenLogin, serveiRMIProves);
        PantConsultProves.setLocationRelativeTo(null);
        PantConsultProves.setVisible(true);
    }//GEN-LAST:event_MenuGestioProvesActionPerformed

    private void MenuTancamentProvesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuTancamentProvesActionPerformed
        // Crida pel subsistema de programació de proves - Tancament de les proves
        PantTancarProves = new PanelTancarProves(REvenLogin, serveiRMIProves);
        PantTancarProves.setLocationRelativeTo(null);
        PantTancarProves.setVisible(true);
    }//GEN-LAST:event_MenuTancamentProvesActionPerformed

    private void MenuControlInscripcionsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuControlInscripcionsActionPerformed
        // Crida pel subsistema de programació de proves - Control d'Inscripcions
        PantControlInscripcions = new PanelControlInscripcions(REvenLogin, serveiRMIProves);
        PantControlInscripcions.setLocationRelativeTo(null);
        PantControlInscripcions.setVisible(true);
    }//GEN-LAST:event_MenuControlInscripcionsActionPerformed

    private void MenuSortirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuSortirActionPerformed
        dispose();
        System.exit(0);
    }//GEN-LAST:event_MenuSortirActionPerformed

    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
        dispose();
        System.exit(0);
    }//GEN-LAST:event_formWindowClosing

    private void MenuConsultaMedallerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuConsultaMedallerActionPerformed
        PantallaMedaller madaller = new PantallaMedaller();
        madaller.setLocationRelativeTo(null);
        madaller.setVisible(true);
    }//GEN-LAST:event_MenuConsultaMedallerActionPerformed

    private void MenuConsultaProvesFinalitzadesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuConsultaProvesFinalitzadesActionPerformed
        PantallaProvesFinalitzades provesFinalitzades = new PantallaProvesFinalitzades();
        provesFinalitzades.setLocationRelativeTo(null);
        provesFinalitzades.setVisible(true);
    }//GEN-LAST:event_MenuConsultaProvesFinalitzadesActionPerformed

    private void MenuConsultaResultatsEstudiantActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuConsultaResultatsEstudiantActionPerformed
        PantallaMevesProves pantalla = new PantallaMevesProves(EstudLogin);
        pantalla.setLocationRelativeTo(null);
        pantalla.setVisible(true);
    }//GEN-LAST:event_MenuConsultaResultatsEstudiantActionPerformed

    private void MenuInscripcioEstudiantActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuInscripcioEstudiantActionPerformed
        PantInscripcioEstudiants = new PantallaConsultaProves(EstudLogin, serveiRMIEstudiants);
        PantInscripcioEstudiants.setLocationRelativeTo(null);
        PantInscripcioEstudiants.setVisible(true);
    }//GEN-LAST:event_MenuInscripcioEstudiantActionPerformed

    private void MenuRealitzacioProvesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuRealitzacioProvesActionPerformed
        PantRealitzaProves = new PantallaRealitzaProves(EstudLogin, serveiRMIEstudiants);
        PantRealitzaProves.setLocationRelativeTo(null);
        PantRealitzaProves.setVisible(true);
    }//GEN-LAST:event_MenuRealitzacioProvesActionPerformed

    private void MenuHistoricProvesEstudiantActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuHistoricProvesEstudiantActionPerformed
        PantResultatProves = new PantallaResultatProves(EstudLogin, serveiRMIEstudiants);
        PantResultatProves.setLocationRelativeTo(null);
        PantResultatProves.setVisible(true);
    }//GEN-LAST:event_MenuHistoricProvesEstudiantActionPerformed

    private void MenuResumExecutiuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuResumExecutiuActionPerformed
        PantallaResumExecutiu pantalla = new PantallaResumExecutiu();
        pantalla.setLocationRelativeTo(null);
        pantalla.setVisible(true);
    }//GEN-LAST:event_MenuResumExecutiuActionPerformed

    private void gestioLogin() {
        try {

            // Agafem el servei RMI de connexio per a saber si hem d'inicialitzar totes les connexions  
            if (serveiRMIConnexio == null) {

                Properties prop = new Properties();
                URL url = ClassLoader.getSystemResource("edu/uoc/tdp/properties/configuration.properties");
                prop.load(url.openStream());
                serveiRMIConnexio   = (RemotConexioInterface) Naming.lookup(prop.getProperty("pathrmi_conexio"));
                serveiRMIProves     = (RemotProvesInterface)Naming.lookup(prop.getProperty("pathrmi_proves"));
                serveiRMIEstudiants = (RemotEstudiantsInterface)Naming.lookup(prop.getProperty("pathrmi_estudiants"));
                serveiRMIInformes   = (RemotInformesInterface)Naming.lookup(prop.getProperty("pathrmi_informes"));
            }
            
            if (PantLogin == null) {
                PantLogin = new PantallaLogin(this, true, serveiRMIConnexio);
            }
            
            // Incialitzem valors per a poder fer login des de 0 reintents.
            PantLogin.setAdminLogin(null);
            PantLogin.setREventsLogin(null);
            PantLogin.setEstudLogin(null);
            PantLogin.setReintents(5);
            
            PantLogin.setVisible(true);

            // Assignem els diferents tipus d'usuaris per veure quin està instanciat.
            AdminLogin = PantLogin.getAdminLogin();
            REvenLogin = PantLogin.getREventsLogin();
            EstudLogin = PantLogin.getEstudLogin();

            // Sobre aquestes instanciacions, activem els menus corresponents.
            ActivaDesactivaMenusSegonsTipusUsuari();

        } catch (MalformedURLException e) {
            JOptionPane.showMessageDialog(null, TDSLanguageUtils.getMessage("ERR_RMI_URL"), "Error", JOptionPane.ERROR_MESSAGE);
        } catch (NotBoundException e) {
            JOptionPane.showMessageDialog(null, TDSLanguageUtils.getMessage("ERR_RMI_INIT"), "Error", JOptionPane.ERROR_MESSAGE);
        } catch (RemoteException e) {
            JOptionPane.showMessageDialog(null, TDSLanguageUtils.getMessage("ERR_REMOT"), "Error", JOptionPane.ERROR_MESSAGE);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    private void ActivaDesactivaMenusSegonsTipusUsuari() {

        // Mostrar els menus que pertoquen segons tipus d'usuari que ha fet login
        MenuConnectar.setEnabled(AdminLogin == null && REvenLogin == null && EstudLogin == null);
        MenuDesconnectar.setEnabled(AdminLogin != null | REvenLogin != null | EstudLogin != null);

        // Administrador
        MenuGestioUsuaris.setVisible(AdminLogin != null);

        // Responsable d'events
        MenuProgramacioProves.setVisible(REvenLogin != null);

        // Responsable d'events i Estudiant
        MenuLlistatsEstadistiques.setVisible(REvenLogin != null | EstudLogin != null);
        
        // Opcions de Llistats i estadístiques només visibles pel responsable d'events
        MenuConsultaMedaller.setVisible(REvenLogin != null);
        MenuConsultaProvesFinalitzades.setVisible(REvenLogin != null);
        MenuResumExecutiu.setVisible(REvenLogin != null);
        
        // Opcions de Llistats i estadístiques només visibles per l'estudiant
        MenuConsultaResultatsEstudiant.setVisible(EstudLogin != null);
        
        // Estudiants
        MenuEstudiant.setVisible(EstudLogin != null);

    }

    private void inicialitzaEstatConnexio() {
        // Tornar a l'estat inicial de la finestra (sense instanciació de l'usuari)
        AdminLogin = null;
        REvenLogin = null;
        EstudLogin = null;
        ActivaDesactivaMenusSegonsTipusUsuari();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new PantallaMenuGeneral().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem MenuConnectar;
    private javax.swing.JMenu MenuConnexio;
    private javax.swing.JMenuItem MenuConsultaMedaller;
    private javax.swing.JMenuItem MenuConsultaProvesFinalitzades;
    private javax.swing.JMenuItem MenuConsultaResultatsEstudiant;
    private javax.swing.JMenuItem MenuControlInscripcions;
    private javax.swing.JMenuItem MenuDesconnectar;
    private javax.swing.JMenu MenuEstudiant;
    private javax.swing.JMenuItem MenuGestioProves;
    private javax.swing.JMenuItem MenuGestioUsuaris;
    private javax.swing.JMenuItem MenuHistoricProvesEstudiant;
    private javax.swing.JMenuItem MenuInscripcioEstudiant;
    private javax.swing.JMenu MenuLlistatsEstadistiques;
    private javax.swing.JMenuBar MenuPrincipal;
    private javax.swing.JMenu MenuProgramacioProves;
    private javax.swing.JMenuItem MenuRealitzacioProves;
    private javax.swing.JMenuItem MenuResumExecutiu;
    private javax.swing.JMenuItem MenuSortir;
    private javax.swing.JMenuItem MenuTancamentProves;
    private javax.swing.JPopupMenu.Separator SeparadorConnexio;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration//GEN-END:variables
}
